Model danych formularza
Edytor Formularzy
Form Editor jest modułem systemu docuRob®eForms używanym przez projektanta formularzy. W module tym definiowana jest taksonomia, wygląd formularza oraz powiązania między komórkami formularza a taksonomią. Taksonomia pozwala wydzielić, uporządkować oraz udokumentować pojęcia, które następnie są wykorzystywane do tworzenia formularzy elektronicznych.
Ponieważ taksonomia formularza jest wczytywana automatycznie w oparciu o wybór atrybutów przypisanych do tworzonego typu formularza z centralnego Słownika Danych możemy zapewnić zgodność typów danych pomiędzy wszystkimi formularzami tworzonymi dla danej instytucji. Dlatego istotnym krokiem metodyki realizacji rozwiązań aplikacyjnych w oparciu o platformę docuRob® jest utworzenie i konserwacja centralnego słownika danych obejmującego wszystkie atrybuty wykorzystywane dla definicji wartości pól formularzy.
Tworzenie taksonomii modelu danych dla całego obszaru aplikacji i dla poszczególnych formularzy stanowi jeden w wielu kroków definiowania ontologii budowanego systemu informatycznego. Wsparcie dla tych prac dają odpowiednie funkcje modułu docuRob® Ontology odpowiedzialnego za zarządzanie wszystkimi elementami ontologii tworzonych aplikacji oraz za parametryzację oprogramowania narzędziowego docuRob®. Model ontologii jest zgodny ze standardem Topic Maps (ISO/IEC 13250) a narzędzia projektanta dostępne w interaktywnym środowisku projektowym obejmują między innymi język TMSL (Topic Maps Scripting Language) i zintegrowany z nim język zapytań TMQL (ISO/IEC 18048).
Arkusze formularza mogą być w prosty sposób tworzone za pomocą dostępnych kreatorów. Każda zakładka formularza składa się z prostokątnej siatki pól, które mogą być łączone w dowolny prostokątny układ. Narzędzie projektowania docuRob®eForms pozwala na dokładne odzwierciedlenie formy papierowej formularza do formy elektronicznej, z uwzględnieniem rodzaju czcionek (ang. font), kolorów, formatów i ramek. Zapewnia to dużą kontrolę nad wyglądem formularza oraz umożliwia wykorzystanie wiedzy zdobytej w trakcie pracy z arkuszami kalkulacyjnymi do stworzenia formularza o dowolnym wyglądzie.
Edytor Formularzy docuRob®eForms pozwala na skojarzenie z formularzem skryptu, przy użyciu którego możliwe jest programowanie obsługi formularza. Przy użyciu skryptów projektant formularza może określić dowolnie zaawansowane reguły sprawdzania poprawności danych wpisanych w pola formularza lub stworzyć program eksportujący dane do formatu XML lub dowolnego innego modelu składu danych.
Rysunek 1. Widok edytora formularzy docuRob®eForms
Funkcjonalnie kompletna definicja formularza systemu docuRob®eForms zawiera szereg perspektyw projektu obejmujących statyczne jak i dynamiczne aspekty interfejsu użytkownika występujące w ramach zadań typu Użytkownik w procesach zarządzanych przez platformę docuRob®WorkFlow.
Wykorzystanie możliwości Edytora formularzy systemu w trakcie definiowania i implementacji przedstawionych poniżej perspektyw projektowych jest szczegółowo omawiane w odpowiednich artykułach.
Typy danych formularza
Każde pole formularza posiada określony typ oraz, co za tym idzie, zestaw atrybutów powiązanych z jej typem.
Napis
W dowolnym miejscu formularza można wprowadzić tekst, który zazwyczaj służy do tworzenia Etykiety innego pola dowolnego typu, wykorzystywane jako stały element jego struktury.
Tekst
Umożliwia wprowadzenie do wartości pola jednej linii tekstu. Tekst nie będzie "zawijany", gdy przekroczona zostanie szerokość pola (w przypadku przekroczenia przez wprowadzony tekst długości pola nie będzie on widoczny w polu formularza).
Tekst wieloliniowy
Umożliwia wprowadzenie do wartości pola tekstu, który może zostać podzielony na linie za pomocą klawisza Enter. Tekst jest automatycznie "zawijany" a wysokość pola jest dostosowywana do zawartości.
Przypis
Typ ten jest modyfikacją typu "Tekst wieloliniowy". Wysokość pola nie jest dostosowywana do zawartości, w zamian dostępny jest pasek przewijania.
Logiczny (checkbox)
Umożliwia wybór wartości prawda/fałsz (checkbox zaznaczony/checkbox odznaczony).
Przełącznik (ang. radio button)
Dokonuje wyboru jednej spośród kilku predefiniowanych wartości.
Liczbowy - całkowity
Umożliwia wprowadzenie do pola liczby całkowitej
Liczbowy
Umożliwia wprowadzenie do pola liczby zmiennoprzecinkowej.
Godzina
Pole o typie Godzina reprezentowana jest w aplikacji do wypełniania formularza przez pole do wprowadzania godziny i minut.
Data
Pole o typie Data powoduje w aplikacji do wypełniania wyświetlenie kalendarza i umożliwia wprowadzenie daty poprzez wybór z kalendarza.
Adres URI
Do pola o typie „Adres URI” wpisać można adres URL. Po kliknięciu na to pole w aplikacji do wypełniania formularza uruchomiona zostanie przeglądarka i wyświetlona strona wskazana pod podanym adresem URL.
Słownik
Po wejściu do edycji pola typu „Słownik” pojawia się okno umożliwiające wyszukanie i wybór elementu. Po dokonaniu wyboru, etykiety i identyfikatory wybranych elementów zostają przeniesione do formularza. Funkcjonalność pola wyboru jest dostępna tylko w trakcie wypełniania formularzy w przeglądarce internetowej, nie jest ona dostępna w Edytorze Formularzy.
Istnieją następujące tryby pracy pola wyboru:
Listy rozwijalne (drop down)
Pozwala na wybranie jednej z opcji wyświetlanych po kliknięciu na kontrolkę wyboru wartości. Przykład przedstawia Rysunek 2.
Rysunek 2. Przykład listy rozwijalnej
Lista jednokrotnego wyboru (radio buton)
Pozwala na wybranie jednej pozycji poprzez kliknięcie na tej pozycji na liście możliwych wartości.
Lista wielokrotnego wyboru (list checkbox)
Pozwala na wybór wielu pozycji poprzez włączenie/wyłączenie przełącznika przy możliwych wartościach.
Słownik zewnętrzny
Pole umożliwiające wprowadzenie pozycji z zewnętrznego słownika (zdefiniowanego np. za pomocą języka TMSL). Kliknięcie pola powoduje pojawienie się okienka ze zdefiniowanym słownikiem zewnętrznym i możliwością wyboru jednej z pozycji. Następnie pozycja ta jest przepisana do pola (pól) formularza wyspecyfikowanego (wyspecyfikowanych) za pomocą atrybutów słownika zewnętrznego. Pole, do którego przekazywana jest pozycja słownikowa, musi mieć atrybut Zewnętrzny ustawiony na „TAK”
Obraz
Pozwala na umieszczenie na formularzu obrazka. Funkcjonalność pola wyboru jest dostępna tylko w trakcie wypełniania formularzy w przeglądarce internetowej, nie jest ona dostępna w Edytorze Formularzy.
Plik
Pozwala na dołączenie pliku do formularza. Plik jest przechowywany w ramach struktury danych formularza jako element modelu danych XML.
Istnieje również, w przypadku dużych plików, możliwość tworzenia Odsyłaczy do plików binarnych przechowywanych w repozytorium docRob®ObjectManager lub w dowolnym innym repozytorium plików.
Typy specjalne i auto dopasowanie
Pole typu „wieloliniowy” jest typem, w którym podczas edycji następuje dopasowanie wysokości wiersza w górę tak, aby cały wpisany tekst był widoczny.
Atrybuty dostępne dla wszystkich typów pól
Lokalizacja
Określa położenie zaznaczonego pola na formularzu, np. B3 oznacza, że zaznaczone pole formularza lub lewe górne pole dla pola scalonego, znajduje się w kolumnie B, wiersz 3.
Typ pola
Określa typ zawartości pola formularza. W zależności od wybranej wartości zmienia się zawartość pola na formularzu oraz liczba jej atrybutów (lista ulega zmianie po wejściu do edycji pola). Po zaznaczeniu pola (kliknięciu myszą) dostępne są następujące wartości: napis, tekst wieloliniowy, przypis, logiczny, liczbowy całkowity, liczbowy, godzina, data, adres URI, słownik, pole wyboru.
Powiązany atrybut
Zawiera powiązanie pola formularza z atrybutem typu. Powiązanie to określa znaczenie danego pola formularza. Wartość tego atrybutu ustawiana jest przy użyciu operacji Powiąż z atrybutem typu, a usuwana przy użyciu operacji Usuń powiązanie z atrybutem typu**"** (operacje te dostępne są z menu kontekstowego dla pola formularza).
Nazwa pola
Definiuje nazwę unikalną w skali formularza, która jest używana w skryptach formularza do identyfikacji danego pola formularza. Nazwa pola formularza jest drugą, poza atrybutem typu, sposobem identyfikacji a tym samym nadawania znaczenia polom formularza.
Tylko do odczytu
Określa, czy pole będzie mogło być modyfikowane (edytowane) przez użytkownika w trakcie wypełniania formularza w przeglądarce internetowej.
Pole obowiązkowe
Określa, czy wprowadzenie danych do pola jest obowiązkowe. Jeżeli pole jest obowiązkowe, użytkownik przed zapisaniem formularza w trakcie wypełniania formularza jest zobligowany do wprowadzenia wartości dla pola formularza.
Zewnętrzny
Atrybut określający, że pola nie można edytować natomiast może być wypełniane skryptami oraz za pomocą przekazania pozycji słownika zewnętrznego.
Atrybuty wpływające na wygląd pola formularza
Kolor tła
Określa kolor tła pola formularza. Po zaznaczeniu atrybutu (kliknięciu myszą) pojawia się lista predefiniowanych kolorów oraz przycisk otwierający okno dialogowe wyboru koloru.
Kolor fontu
Określa kolor tekstu w polu formularza. Po zaznaczeniu atrybutu (kliknięciu myszą) pojawia się lista predefiniowanych kolorów oraz przycisk otwierający okno dialogowe wyboru koloru.
Krój pisma
Określa rodzaj kroju pisma dla pola formularza. Lista pozwala wybrać jedną z grup czcionek: bezszeryfową (np. Helvetica, Arial), szeryfową (np. Times New Roman) lub o stałej szerokości znaku (np. Courier).
Stopień pisma
Określa wysokość tekstu dla pola formularza.
Font pogrubiony
Określa czy w polu formularza zostanie użyta pogrubiona czcionka.
Font pochylony
Określa czy w polu formularza zostanie użyta pochylona czcionka.
Poziome wyrównanie tekstu
Określa typ wyrównania zawartości pola formularza w poziomie (do lewej, środek, do prawej).
Pionowe wyrównanie tekstu
Określa typ wyrównania zawartości formularza w pionie (do góry, środek, do dołu).
Atrybuty dla typów tekstowych
Maska formatowania
Maska formatowania służy do kontrolowania zawartości pola tekstowego, określa dozwolone znaki oraz ich położenie w polu tekstowym. Maska formatowania może zawierać następujące znaki specjalne:
Znak | Opis |
---|---|
# | Dowolna cyfra (0 .. 9) |
' | Znak specjalny pozwalający na umieszczenie we wzorcu znaku reprezentującego inny znak specjalny |
U | Dowolna litera, małe litery są konwertowane na duże odpowiedniki. |
L | Dowolna litera, duże litery są konwertowane na małe odpowiedniki. |
A | Dowolna litera lub cyfra |
? | Dowolna litera |
* | Dowolny znak |
H | Dowolny znak definiujący liczbę szesnastkową (0-9, a-f lub A-F) |
Tabela 1. Znaki wykorzystywane w masce formatowania pola tekstowego
Dla przykładu maska w postaci "###-####" pozwala na wprowadzenie następujących napisów "123-4567", "324-8344".
Komunikat błędu formatu
Definiuje komunikat błędu wyświetlanego w przypadku wprowadzenia tekstu niezgodnego z maską formatowania.
Hasło
W przypadku oznaczenia pola jako hasło, pole to reprezentowane będzie w postaci ciągu gwiazdek i jego wartość będzie niewidoczna z poziomu przeglądarki.
Rozdzielanie liter
Powoduje wyświetlenie tekstu w tabelce z widoczną ramką i podziałem komórek. Każda litera tekstu jest umieszczona w osobnej komórce. Atrybut działa wyłącznie jeśli podano maksymalną długość tekstu, która określa liczbę komórek. Pozostały tekst nie będzie wyświetlany.
Atrybuty dla typów liczbowych
Atrybuty dla typów liczbowych mają na celu ograniczenie dopuszczalnych wartości dla liczb oraz formatowanie tekstu reprezentującego liczby.
Rozmiar grup cyfr
Określa sposób, w jaki będą wyświetlane liczby w polu formularza (np. wartość 3 oznacza wyświetlenie liczby 4000000 w grupach o rozmiarze trzech cyfr tj. '4 000 000')
Liczba cyfr znaczących
Określa maksymalną liczbę cyfr części całkowitej wprowadzanej liczby.
Liczba miejsc po przecinku
Określa maksymalną liczbę cyfr, które mogą być wprowadzone po przecinku.
Maksimum całkowite
Określa maksymalną wartość, jaka może zostać wprowadzona do pola. Ważny tylko dla pól typu liczbowe całkowite.
Minimum całkowite
Określa minimalną wartość, jaka może zostać wprowadzona do pola. Ważny tylko dla pól typu liczbowe całkowite.
Dopuszczalne ujemne
Określa czy pole może zawierać wartość ujemną.
Maksimum zmiennoprzecinkowe
Określa maksymalną wartość, jaka może zostać wprowadzona do pola. Ważny tylko dla pól typu liczbowego.
Minimum zmiennoprzecinkowe
Określa minimalną wartość, jaka może zostać wprowadzona do pola. Ważny tylko dla pól typu liczbowego.
Wyrównanie cyfr znaczących
Określa liczbę cyfr do której zostanie wyrównana część całkowita liczby, np. przy wyrównaniu 3 wprowadzenie liczby 1 spowoduje pojawienie się napisu 001.
Wyrównanie po przecinku
Określa liczbę cyfr do której zostanie wyrównana część ułamkowa liczby, np. przy wyrównaniu 3 wprowadzenie liczby 1 spowoduje pojawienie się napisu 1,000.
Wyrażenie
W celu umożliwienia automatycznego obliczania wartości komórki należy uzupełnić atrybut Wyrażenie. Można w nim wpisać dowolne wyrażenie zgodne ze składnią JavaScript (można używać funkcji matematycznych). Jako zmienne należy używać nazw komórek, których wartości mają być użyte do obliczenia wyrażenia. Jeśli atrybut Wyrażenie jest wypełniony nie jest możliwa ręczna edycja takiego pola na formularzu.
Funkcja
W celu umożliwienia automatycznego obliczania wartości komórki należy uzupełnić atrybut „Funkcja”. Należy w nim wpisać nazwę funkcji JavaScript do wywołania i/lub nazwy pól, których wartości zostaną przekazane jako parametry tej funkcji. Wszystkie nazwy muszą być oddzielone przecinkami. Przykładem użycia jest konwersja wartości liczbowej (waluty) na tekst słowny wartości. W atrybucie „Funkcja” należy wpisać: setMonetaryText,NAZWA_POLA_WALUTY
Atrybuty dla typu obraz oraz słownik zewnętrzny i pole wyboru
Adres URL obrazka
Dla obrazu określa adres spod którego zostanie pobrany obraz.
Dla pola wyboru określa adres strony realizującej wybór, w trakcie wypełniania formularza strona ta zostanie wyświetlona w obszarze edycyjnym danego pola formularza.
Plik
Pozwala wczytać obraz bezpośrednio do definicji formularza. Po dodaniu obrazu atrybut Adres URL jest ignorowany.
Dostosuj do komórki
W przypadku zaznaczenia tej opcji, wielkość obrazu jest dostosowywana do wysokości lub szerokości komórki z zachowaniem proporcji obrazu. Jeśli atrybut nie jest zaznaczony, obraz wyświetlany jest w rzeczywistym rozmiarze.
Atrybuty dla typu pola typu Słownik zewnętrzny
Adres URL
Adres strony wyświetlającej pozycje słownika, adres może zawierać parametry dla strony słownikowej. Przykład wywołania słownika pobierającego dane z funkcji tmsl TopicMaps:web/jsp/dict/tmsl.jsp?tmsl=’[www.rodan.pl/psi/tmsl-function/getEmployeesFromCurrentDivision](http://www.rodan.pl/psi/tmsl-function/getEmployeesFromCurrentDivision)’
Adres URL obrazka
Adres URL do ikony słownika
Lista komórek wejściowych
Nazwy pól, z których mają być brane wartości przekazywane jako parametry słownika oddzielone przecinkiem (np: pole1,pole2,pole3)
Lista komórek do wypełnienia
nazwy pól, które mają być wypełniane oddzielone przecinkiem
pierwsze z pól musi być polem słownikowym z ustawionym atrybutem "zewnętrzny", do niego wpisze się Etykieta pozycji słownikowej i id
pozostałe pola wpisujemy jako nazwa_pola=psi_atrybutu_pozycji_słownikowej
(np: pole1,pole2=psi_atr_1,pole3=psi_atr_2)
Atrybuty dla pola typu Przełącznik
Grupa
Określa grupę pól, do której należy dane pole typu Przełącznik. Podczas tworzenia wielu pól typu Przełącznik i wiązania ich z ustalonym, tym samym atrybutem, grupa tworzona jest automatycznie. Użytkownik formularza może zaznaczyć w danej chwili tylko jedno pole Przełącznik z danej grupy.
Wartość pola
Określa wartość (związaną z atrybutem powiązanym z polem), którą reprezentuje zaznaczone pole typu Przełącznik. Zaznaczenie danego pola Przełącznik przez użytkownika skutkuje wybraniem wartości określonej w atrybucie Wartość pola.
Inne atrybuty
Słownik
Określa nazwę słownika, z którego zostaną pobrane pozycje dostępne później w polu wyboru pola formularza. Po zaznaczeniu pola (kliknięciu myszą) wyświetlane są wszystkie dostępne nazwy (etykiety) słowników. Po wybraniu słownika i przejściu do edycji pola dostępne są w liście wszystkie wartości (pola) dla wybranego słownika.
Opis
Definiuje komentarz projektanta dla pola formularza.
Pomoc kontekstowa
Definiuje tekst pomocy dla wypełniającego formularz, która pojawi się w formie „dymka” w polu formularza. Po wybraniu atrybutu pojawia się pole tekstowe zawierające bieżący tekst podpowiedzi oraz przycisk otwierający edytor tekstu pomocy kontekstowej.
Obszar
Określa obszary, do których przydzielono pole formularza. Każde pole formularza może należeć do wielu obszarów a takie powiązanie jest najczęściej wykorzystywane do sterowania widoczności pól formularza w ramach widoków wykorzystywanych w zadaniach procesów implementowanych w systemie docuRob®WorkFlow.
Edycja pól formularza z atrybutami typu
Przypisanie typów metodą Drag&Drop
Edytor formularzy pozwala na rozmieszczanie elementów formularza za pomocą techniki Drag&Drop. Przykładowo wskazując myszką atrybut w oknie taksonomii, klikając lewy przycisk i trzymając go możemy przeciągnąć element na dowolną komórkę formularza. Po puszczeniu przycisku myszki pole formularza automatycznie przyjmie ustawienia właściwe dla danego typu atrybutu np. pole tekstowe dla atrybutów typu Napis, pole wieloliniowe dla atrybutów typu tekst wieloliniowy, pole wyboru drop down dla pól słownikowych itp.
Edycja pola typu Przełącznik poprzez Drag&Drop
Po przeciągnięciu metodą Drag&Drop atrybutu typu Przełącznik do kilku wybranych pól formularza nastąpi automatyczne przypisanie przeciągniętego atrybutu do wybranych pól. Pola te utworzą listę, z której będzie można dokonać wyboru jednego tylko elementu ze słownika połączonego z atrybutem typu Przełącznik. Pola, do których metodą Drag&Drop przeciągnięto atrybut typu Przełącznik będą połączone z tym samym słownikiem (zdefiniowanym dla atrybutu) oraz utworzona zostanie wspólna grupa dla wybranych pól.
Skróty klawiszowe
W Edytorze Formularzy wykorzystywane są skróty klawiszowe ułatwiające wykonywanie operacji na polach formularza (Rysunek 3). Opis skrótów klawiszowych dostępny jest z menu głównego Pomoc → Skróty klawiszowe**.**
Rysunek 3. Skróty klawiszowe Edytora Formularzy
Elementy typu choice
Elementy typu choice pozwalają na zamodelowanie na formularzu sekcji, które będą uwidaczniane na formularzu w zależności od wybranej opcji. Co więcej, element typu choice, który nie zostanie wybrany nie będzie generowany w pliku xml danych formularza.
Aby zamodelować na formularzu elementy typu choice należy przeciągnąć ikonę Pole wyboru (radio button) na dwa różne pola na formularzu, oraz nadać tym polom nazwy (np.: typPodmiotu1, typPodmiotu2).
Następnie przeciągnąć atrybut, którego wartość będzie decydować o tym który element typu choice ma być aktywny (np. typu Napis) na oba te pola.
W kolejnym kroku należy umieścić na formularzu atrybuty, które mają należeć do jednego z elementu choice ( np.: atrybuty proste wchodzące w skład atrybutów złożonych „Osoba” i „Instytucja” ).
Następnie w bazie wiedzy dla atrybutów złożonych z powyższego przykładu należy w polu „Warunek” umieścić warunek, przy jakim dany element choice ma być generowany do pliku xml z danymi formularza (np.: typPodmiotu2=TRUE dla atrybutu złożonego Osoba oraz typPodmiotu1=TRUE dla atrybutu złożonego Instytucja).
W ten sposób, w pliku xml danych formularza pojawią się elementy tylko z tej sekcji, dla której spełniony był warunek choice.
Aby uzyskać efekt pojawiania się/ukrywania odpowiednich pól na formularzu w zależności od wybranego pola wyboru choice należy:
- dodać x obszarów formularza ( gdzie x jest liczbą pól wyboru choice );
- przypisać pola należące do elementów choice (czyli w tym przykładzie wszystkie pola osoby oraz instytucji) do odpowiednich obszarów;
- w skryptach przygotowania oraz walidacji formularza odpowiednio uwidaczniać oraz ukrywać obszary w zależności od wybranego pola wyboru choice.